<?php
header('Content-Type: text/html; charset=utf-8');
// 设置请求的URL和参数
$url = "https://xqh5.17wanxiao.com/smartWaterAndElectricityService/SWAEServlet";
$param = json_encode([
    "cmd" => "getstuindexpage",
    "account" => "   "  //学号
]);
$queryString = http_build_query([
    "param" => $param,
    "customercode" => 1111,  //学校代码
    "method" => "getbindroom"
]);

// 初始化cURL会话
$ch = curl_init();

// 设置cURL选项
curl_setopt($ch, CURLOPT_URL, $url . "?" . $queryString);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // 确保响应返回到变量中而不是直接输出
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    "Content-Type: application/x-www-form-urlencoded", // 如果需要额外的头信息可以添加
));

// 执行cURL会话
$response = curl_exec($ch);

// 关闭cURL会话
curl_close($ch);




// 将JSON字符串解码为PHP数组
$data = json_decode($response, true);
$bodyData = json_decode($data['body'], true);

// 检查是否存在modlist并且不为空
if (isset($bodyData['modlist']) && !empty($bodyData['modlist'])) {
    foreach ($bodyData['modlist'] as $module) {
        // 提取需要的字段
        $odd = isset($module['odd']) ? $module['odd'] : 'N/A';
        $collecdate = isset($module['collecdate']) ? $module['collecdate'] : 'N/A';
        $modstatus = isset($module['modstatus']) ? $module['modstatus'] : 'N/A';
        $todayuse = isset($module['todayuse']) ? $module['todayuse'] : 'N/A';
        $roomnum = isset($bodyData['roomnum']) ? $bodyData['roomnum'] : 'N/A';
        /*
        // 输出信息
        echo '剩余电量：' . $odd . '度<br>';
        echo '统计时间：' . htmlspecialchars($collecdate, ENT_QUOTES, 'UTF-8') . '<br>';
        echo '当前状态：' . htmlspecialchars($modstatus, ENT_QUOTES, 'UTF-8') . '<br>';
        echo '今日用电：' . htmlspecialchars($todayuse, ENT_QUOTES, 'UTF-8') . '度' . '<br>';
        
        // 提取roomnum
        echo '宿舍编号：' . htmlspecialchars($roomnum, ENT_QUOTES, 'UTF-8') . '<br>';
        */
    }
}




// 设置内容类型为image/png
header('Content-Type: image/png');

// 创建一个500x450像素的空白图像
$im = imagecreatetruecolor(500, 450);

// 分配颜色变量
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);

// 填充背景色为白色
imagefilledrectangle($im, 0, 0, 500, 450, $white);

// 要写入的文本
$text =  
    '宿舍编号：'.$roomnum . "\n" . // 宿舍的编号
    '剩余电量：' . $odd . '度' . "\n" . // 剩余的电量（单位：度）
    '统计时间：'. $collecdate. "\n". // 数据收集的时间
    '当前状态：'. $modstatus. "\n". // 当前的状态描述
    '今日用电：'. $todayuse. '度' . "\n"; // 今天的用电量（单位：度）

// 字体路径（确保字体文件存在）
$fontPath = 'font.ttf';

// 检查字体文件是否存在
if (!file_exists($fontPath)) {
    die("Font file not found.");
}

// 计算文本边界框
$textBox = imagettfbbox(50, -100, $fontPath, $text);
$textWidth = abs($textBox[40] - $textBox[0]);
$textHeight = abs($textBox[20] - $textBox[1]);

// 文本位置居中
$x = (500 - $textWidth) / 2;
$y = (450 + $textHeight) / 2;

// 将字符串水平居中垂直居中地写入到图像中
imagettftext($im, 20, 0, $x, $y, $black, $fontPath, $text);

// 输出图像到浏览器
imagepng($im);

// 清除内存占用
imagedestroy($im);



?>